package com.coocaa.ops.common.core.biz.plugin.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.coocaa.ops.common.core.base.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;

/**
 * @author tangminghong
 * @date 2020-06-28
 */
@Getter
@Setter
@TableName("plugin_info")
public class PluginInfoEntity extends BaseEntity {

    /**
     * 对应的业务模块分类
     * @see com.coocaa.ops.common.core.biz.module.constant.ModuleTypeConstants
     */
    private String moduleType;

    /**
     * 插件id，各业务的唯一id
     */
    private String pluginId;

    /**
     * 插件类型
     */
    private String type;

    /**
     * 插件名称
     */
    private String pluginName;

    /**
     * 插件包名
     */
    private String packageName;

    /**
     * 插件业务分类
     */
    private String category;

    /**
     * 插件参数（json格式）
     * 注解表示忽略判断，不作null判断及空字符串判断
     */
    @TableField(strategy = FieldStrategy.IGNORED)
    private String params;

    /**
     * 插件数据
     * 注解表示忽略判断，不作null判断及空字符串判断
     */
    @TableField(strategy = FieldStrategy.IGNORED)
    private String data;

    /**
     * 主页最低版本
     */
    private Integer homeVersion;

    /**
     * 插件最低版本
     */
    private Integer pluginVersion;

}
